In a present flash memory data access management technique, a data stored in a flash memory block could not be read out correctly after block leveling of approximate one hundred thousand cycles. Such a matter that a flash memory block could not be read correctly due to excessive leveling cycles is generally called ‘Write-through’. Since the flash memory has a limited service life, it is a significant topic to create how to procrastinate Write through of the block for prolongating the flash memory service life. For solving the problem, the conventional method approaches the wear leveling cycles of every block as equivalent as possible by evenly distributing the data into every block of the flash memory with utilizing of a Wear Leveling Scheme.
The conventional Wear Leveling Scheme comprises a Dynamic Wear Leveling Scheme and a Static Wear Leveling Scheme. The implementation of the Dynamic Wear Leveling Scheme is to update data or write a data into a free block of a system, wherein the free block is formed by leveling the block whose data are overdue. Therefore, advantages of the Dynamic Wear Leveling Scheme includes a simplified design, low cost, and block leveling cycles more than the predetermined amount. However, drawbacks of the Dynamic Wear Leveling Scheme are that the block which stores frequently updated data is leveled frequently and the block which stores rarely updated data is leveled infrequently; Therefore the leveling cycles of all blocks are not equalized.
In addition, an implementation of the Static Wear Leveling Scheme is to keep traces of the leveling cycles of every block. In other words, the Static Wear Leveling Scheme levels the less leveling-cycle block when the system needs extra free blocks. Therefore, the advantage of the Static Wear Leveling Scheme completely achieves the wear leveling for the blocks. However, the drawbacks of the Static Wear Leveling Scheme are higher system management expense, such as moving surplus data and consuming memory spaces required for traces of the leveling cycles of every block.